#include <iostream>

int const maxn = 107;
bool rm[maxn];
char da[maxn][maxn];

int n, m;

int main()
{
	std::cin >> n >> m;
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++) std::cin >> da[i][j];

	int ans = 0;
	for (int k = 0; k < 100; k++) {
		for (int i = 1; i < n; i++) {
			for (int j = 0; j < m; j++) {
				if (rm[j] || da[i][j] == da[i-1][j]) continue;
				else if (da[i][j] < da[i-1][j]) rm[j] = true;
				else break;
			}
		}
	}
	for (int i = 0; i < m; i++) ans += rm[i];
	std::cout << ans << '\n';
}

